The Internet and the World Wide Web (Web) have become a major part of commerce and information exchange around the world. Web pages are essentially hypertext markup language (HTML) files stored on a Web server and downloaded to a user's computer to be read and displayed by a Web browser. HTML is a markup language that uses tags and metadata to define the appearance of data within the HTML file. The Web browser understands these tags and displays the data in the manner directed by the tags or style information. HTML files also typically include links or connections to secondary files that may be used by the Web browser to display images, such as pictures, movies, documents, or the like. The HTML code generally establishes a link which points to the location of that file on the Web server. As the Web browser reads and renders the HTML code the secondary document is read or downloaded to the HTML page. These secondary files that are immediately downloaded to the HTML page to correctly render the page are referred to herein as secondary dependent files. Some secondary files, however, do not automatically load into the HTML page, but remain associated with a hyperlink on that page. The determination of whether a file is a secondary dependent file, or merely a secondary file is typically governed by the manner in which the file is referenced in the HTML page.
For example, a Web page that displays ten photographs and some descriptive text will typically consist of eleven files. The first file is the underlying HTML file that defines the layout and appearance of the Web page. This file defines ten locations for the photographs and includes a linking statement or label for each of the photographs. Each of the ten photograph files are also present on the Web server in some relation to the main HTML page. The HTML file will usually include the path name or uniform resource locator (URL) to the image file that it uses to display in the image portion of the rendered Web page. When a Web surfer requests to view a certain Web page, the Web browser issues a request to the URL of the Web page. The URL identifies the particular Web server on which the main HTML file resides. When the Web server receives the request, it serves the main HTML file to the requesting Web browser. As the browser reads the HTML code, it usually transmits subsequent requests for each secondary dependent file linked for display in the main page using the specific pathname or URL included in the HTML file. The Web server will generally serve those secondary dependent files to the browser for the browser to complete the rendering of the Web page.
Secondary documents may also be associated with Web pages through a link only. For example, a Web page that provides a list of documents available for viewing by a user may contain a single HTML page with a hyperlink for each of the available documents. When the HTML page loads in the Web browser, these secondary documents are not typically downloaded or read. Instead, a hyperlink is presented to a user that allows the users to select which document he or she wishes to review. On selection of the hyperlink, the Web browser issues the request to the Web server to retrieve the associated document.
Web developers generally design Web pages on a local computer either individually or as a part of a design team prior to publishing the pages to a live location on a Web server. The designed Web pages may be made up of multiple HTML files each having several secondary files. These files that make up the finished Web page will typically be stored on the hosting Web server at locations that are accessible to the requesting Web browsers. In order to store or upload these Web files, the Web developer typically needs to know the exact file locations on the Web server to place the files.
In order to increase efficiency and predictability in Web interaction, Web or HTML files and secondary files are usually placed in a specific, customary, or standardized file structure. This may prevent Web developers from placing files in a prohibited location, an incorrect location, or a location that would violate the Web developer's placement privileges. Style information, such as in Cascading Style Sheets (CSS), for example, may be contained in a style file that applies to more than one HTML page. Thus, these shared files are typically placed in a standardized or predictable location on the Web server, so that each applicable HTML page may access it for the style information. If one of these files were not placed in its expected location on the Web server, the Web page, or even all the associated Web pages in the case of a CSS file, may not display as expected.
Large companies are typically able to dedicate considerable resources to maintaining and developing Web pages and Websites. Site administrators and professionals are employed specifically to ensure that the filing system is efficient and accessible. Smaller companies and individuals, who may not even own or have direct control over the equipment on which their Website is hosted, may not typically understand or even know the file structure of a hosting Web server.
Web development software, such as MACROMEDIA INC.'s DREAMWEAVER™, MICROSOFT CORPORATION's FRONT PAGE™, ADOBE SYSTEMS, INC.'s GO LIVE™, and the like, each facilitate the design of Web pages and the relationships with any secondary and/or dependent assets. However, when publishing the Web pages and their associated secondary files, a file transport system, such as File Transport Protocol (FTP) is used to upload the Web files directly to the hosting Web server. Typically, this uploading process includes the Web designer specifying the exact location on the Web server to place the files. This type of information is not generally freely available to anyone in the public. It is specialized information that would be difficult for non-professional Web developers to obtain.
Software applications have been developed attempting to add some structure to this random or dynamic file placement process when publishing Web pages. Web maintenance software, such as early versions of MACROMEDIA INC.'s CONTRIBUTE™, include logic that attempts to discover the file locations in which to place Web pages on a Web server. Examples of such logic are described in commonly owned, co-pending U.S. patent application Ser. No. 10/689,860, entitled, “CROSS-PROTOCOL URL MAPPING,” and commonly-owned, co-pending U.S. patent application Ser. No. 10/689,870, entitled, “AUTOMATIC SET UP FOR EDITING A WEBSITE,” the disclosures of which are incorporated herein. Using the deduced pathways, these early Web maintenance applications established a set of rules for dispersing any dependant files automatically. For examples, any secondary files that had an extension of GIF (Graphics Interchange Format), or other graphics format, such as JPG (Joint Photographics Expert Group format), PNG (Portable Network Graphics), and the like, were automatically placed into a folder named “images” alongside the main HTML file for that page. Being placed alongside the file means to place the file on the same hierarchical level within the filing system. Similarly, if a secondary file had a DOC extension (for MICROSOFT WORD™ word processing format), WPD (for COREL CORPORATION's WORDPERFECT™), PDF (Portable Document Format), and the like, that document was automatically placed into a folder named “document” also alongside the main HTML file. Any files that had extensions that were not recognized or accounted for by the Web maintenance applications were placed alongside the main HTML file.
While this functionality greatly improved the Web publishing experience for non-Web professional developers, there were still shortcomings. For example, because early versions of CONTRIBUTE™ did not provide special treatment for style sheet files, such as CSS files, a single CSS file, that may be intended to support multiple HTML files would be copied into the location alongside each HTML file that was published to the Web server. Thus, even though the supporting CSS file was capable of supporting multiple HTML pages, it was stored multiple times on the Web server. Moreover, if a Web administrator set up the Web server file structure in a manner that was different than the standard or customary file structure using images/documents folder system defined by CONTRIBUTE™, he or she would have to either disable this feature or manually move the files from the automatically-placed locations into the proper locations, in which the developer would need to know what the file structure actually is. Therefore, while the improved features offered in the prior versions of CONTRIBUTE™ alleviated some of the problems with the Web publishing mechanism, it did not solve all of the problems.